Scripting 应用支持将数量型健康数据(例如步数、心率、体重、卡路里等)写入 Apple 的 HealthKit。你可以使用 HealthQuantitySample
类创建数据样本,并通过 Health.saveQuantitySample()
方法保存到健康数据库中。
确保设备支持 HealthKit:
脚本需要具备对目标数据类型的写入权限。当你调用保存 API 时,Scripting 会自动检查并请求所需权限。
HealthQuantitySample
实例使用 HealthQuantitySample.create()
方法创建一个数量型数据样本。
参数 | 类型 | 描述 |
---|---|---|
type |
HealthQuantityType |
要写入的数据类型,如 "stepCount" (步数)、"heartRate" (心率)、"bodyMass" (体重)等 |
startDate |
Date |
样本的开始时间 |
endDate |
Date |
样本的结束时间 |
value |
number |
健康数据的数值 |
unit |
HealthUnit |
数据单位,如 HealthUnit.count() 、HealthUnit.gram(HealthMetrixPrefix.kilo) |
metadata |
Record<string, any> 可选 |
元数据,例如来源信息 |
创建完样本后,调用 Health.saveQuantitySample()
将其写入健康数据:
如果写入失败(例如权限不足),此方法将抛出错误。
请确保 unit
与 type
类型匹配,例如:
"stepCount"
→ HealthUnit.count()
"bodyMass"
→ HealthUnit.gram(HealthMetrixPrefix.kilo)
"heartRate"
→ HealthUnit.count().divided(HealthUnit.minute())
对于累计类数据(如步数、距离),startDate
和 endDate
应表示数据的记录时间段。